//1.对用户表进行约束
//2.导入公共连接的数据库
const mongoose = require('./connection')

//2.创建schema 由于mongodb 属于非关系型数据库,对数据的类型和表头没有约束,但在实际引用中,一个表中的数据类型和表头都是相同的,所以mongoose内部封装了schema,用于设置和约束数据的类型和表头


//3.对数据库中的用户表进行约束
const userSchema = new mongoose.Schema({
    //对用户名进行约束
    username:{
        required:true, //必填
        type:String  //属性
    },
    //对密码进行约束
    password: {
        required: true,
        type: String
    },
    userid:String,
    //邮箱属性
    email: String,
    //电话属性
    tel: Number,
    //性别
    isMan: Boolean,
    //年龄
    age: Number,
    //注册时间
    created_at: {
        type: Date,
        //默认值
        default: +new Date(Date.now() + (8 * 60 * 60 * 1000))
    },
    //更新时间
    updated_at: {
        type: Date,
        default: +new Date(Date.now() + (8 * 60 * 60 * 1000))
    },
    //状态
    enable: {
        type: Boolean,
        default: false
    }
})

//4.创建model 对数据的操作都是通过model进行

const userModel = mongoose.model('User',userSchema,'user')


//导入模块 就有导出模块 将数据约束导出
module.exports  = userModel